Automated test equipment (ATE) can be any testing assembly that performs a test on a semiconductor wafer or die, an integrated circuit (IC), a circuit board, or a packaged device such as a solid-state drive. ATE assemblies may be used to execute automated tests that quickly perform measurements and generate test results that can then be analyzed. An ATE assembly may be anything from a computer system coupled to a meter, to a complicated automated test assembly that may include a custom, dedicated computer control system and many different test instruments that are capable of automatically testing electronics parts and/or semiconductor wafer testing, such as system-on-chip (SOC) testing or integrated circuit testing. ATE systems both reduce the amount of time spent on testing devices to ensure that the device functions as designed and serve as a diagnostic tool to determine the presence of faulty components within a given device before it reaches the consumer.
When a typical ATE system tests a device (commonly referred to as a device under test or DUT), the ATE system applies stimuli (e.g. electrical signals) to the device and checks responses (e.g., currents and voltages) of the device. Typically, the end result of a test is either “pass” if the device successfully provides certain expected responses within pre-established tolerances, or “fail” if the device does not provide the expected responses within the pre-established tolerances. More sophisticated ATE systems are capable of evaluating a failed device to potentially determine one or more causes of the failure.
It is common for an ATE system to include a computer that directs the operation of the ATE system. Typically, the computer runs one or more specialized software programs to provide (i) a test development environment and (ii) a device testing environment. In the test development environment, a user typically creates a test program, e.g., a software-based construct of one or more files that controls various portions of the ATE system. In the device testing environment, the user typically provides the ATE system with one or more devices for testing, and directs the ATE system to test each device in accordance with the test program. The user can test additional devices by simply providing the additional devices to the ATE system, and directing the ATE system to test the additional devices in accordance with the test program. Accordingly, the ATE system enables the user to test many devices in a consistent and automated manner based on the test program.
In a typical prior art testing environment, the test development environment may comprise an application programming interface (API) that controls many of the high level functionalities and features of the tester. The API interfaces with a control server for directing high level functionality and features of the testing platform. One typical issue with such an API is that in order to customize the testing system for a given application or a given customer, the API must be manually altered and reprogrammed. This can be a difficult, long, costly, complex and error prone process involving highly trained and specialized professionals. It would be advantageous to provide an easier, faster, more automatic and streamlined way to customize the functionality and features of the API for a particular customer's needs.